/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package si_rhnominafacil;


import java.sql.*;
import javax.swing.JOptionPane;
import java.sql.SQLException;

import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author michelle
 */
public class si_conectar {
    private Connection conexion = null;
private Connection conexionexterna = null;
public void estableceConexion()
    {
        if (conexion != null)
            return;
        System.out.println("Conexión paso ");
        String url = "jdbc:postgresql://"+si_variables.getHost()+"/"+si_variables.getBd();
        System.out.println(url);
        //usuario = variables_global.getLogin();
        //password = variables_global.getPassword();
        try
        {
           Class.forName("org.postgresql.Driver");
           //Establecemos el Usuario y la contraseña
            conexion = java.sql.DriverManager.getConnection(url,si_variables.getbdLogin(),si_variables.getbdPassword());
           if (conexion !=null)
                {
                    //System.out.println("Conexión a base de datos ... Ok");
                    si_variables.setconexiongral(conexion);
                    si_variables.setError_ingreso(1);
                }
        } catch (SQLException e)
                {
                    System.out.println(e.getMessage());
                    JOptionPane.showMessageDialog(null,"No se pudo accesar al Sistema","Verifique Usuario Y contrseña",JOptionPane.ERROR_MESSAGE);
                    e.printStackTrace();
                    //System.exit(1);
                    //se envio a variables global
                    si_variables.setError_ingreso(-1);
                }
        catch (ClassNotFoundException e)
                {
                    JOptionPane.showMessageDialog(null,e.getMessage()+".* No se pudo establecer conexion con la base de datos","Sin conexion, el controlador no esta presente",JOptionPane.ERROR_MESSAGE);
                    //System.exit(1);
                }
    }


public ResultSet sieuno_executediversos(String fsl )
    {
        ResultSet rs = null;
        Statement s = null;
        try
        {
            s = conexion.createStatement();
            //seleccionamos la tabla de la base de datos la cual lleva por nombre trabajadores
            rs = s.executeQuery(fsl);

        }
        catch (Exception e)
            {
               System.out.println(e.getMessage());
               System.out.println("Problema al consultar la base de datos 1 ");
                si_variables.setError_ingreso(-2);
                JOptionPane.showMessageDialog(null,"Error Verifique Su Conexion en Menu Principal","Verifique Su Conexion en Menu Principal",JOptionPane.ERROR_MESSAGE);
            }
        return rs;
     }
public ResultSet sieuno_executediversosv2(String fsl,Connection con)
    {
        ResultSet rs = null;
        Statement s = null;
        try
        {
            s = con.createStatement();
            //seleccionamos la tabla de la base de datos la cual lleva por nombre trabajadores
            rs = s.executeQuery(fsl);

        }
        catch (Exception e)
            {
               System.out.println(e.getMessage());
               System.out.println("Problema al consultar la base de datos 1 ");
               si_variables.setError_ingreso(-2);
                JOptionPane.showMessageDialog(null,"Error Verifique Su Conexion en Menu Principal"+e.getMessage(),"Verifique Su Conexion en Menu Principal",JOptionPane.ERROR_MESSAGE);
                //JOptionPane.showMessageDialog(null,"Error Verifique Su Conexion en Menu Principal","Verifique Su Conexion en Menu Principal",JOptionPane.ERROR_MESSAGE);
            }
        return rs;
     }


public void cierraConexionv2(Connection co)
    {
        try
            {
                co.close();
                conexion=null;
            }
        catch(Exception e)
            {
                System.out.println("Problema para cerrar la Conexión a la base de datos ");
            }
    }


}
